package com.itany.corejava.code07_面向对象.lianxi2;

import java.util.Arrays;
import java.util.Scanner;

/**
 * @author MissChen
 * @version 1.0
 * @date 2023 年11月06日 9:22
 */
public class Students {
    private Student[] stus;

    public Student[] getStus() {
        return stus;
    }

    public void setStus(Student[] stus) {
        this.stus = stus;
    }

    public Students(){
        Scanner sc=new Scanner(System.in);
        System.out.print("请输入学生的数量:");
        int num=sc.nextInt();
        stus=new Student[num];
        double[] scores=new double[num];//将所有的分数存入到scores
        for(int i=0;i<num;i++){
            System.out.print("请输入第"+(i+1)+"学生的姓名:");
            String name=sc.next();
            System.out.print("请输入该学生的分数:");
            double score=sc.nextDouble();
            scores[i]=score;//将分数一个一个添加到scores中去
            Student stu=new Student(name,score);
            stus[i]=stu;//将学生一个一个添加到stus中去

        }
        // Arrays.sort(scores);//将分数升序排列
        // Student[] s=new Student[num];
        //
        // //将scores中的每一个分数与对象中的每一个分数一一进行比较
        // int index=0;
        // for(int i=0;i<num;i++){//外层循环控制scores
        //     for(int j=0;j<num;j++){//内层循环控制stus
        //             if(stus[j]!=null) {
        //                 if (scores[i] == stus[j].getScore()) {
        //                     s[index++] = stus[j];
        //                     stus[j] = null;
        //                     break;
        //                 }
        //             }
        //     }
        // }
        //
        // stus=s;


        //使用冒泡排序法
        for(int i=1;i<=num-1;i++){//外层循环控制比较的轮数
            // i=1  j=0;j<4
            // i=2  j=0;j<3
            for(int j=0;j<num-i;j++){//内层循环控制每一轮比较的次数
                if(stus[j].getScore()>stus[j+1].getScore()){
                    Student temp=stus[j];
                    stus[j]=stus[j+1];
                    stus[j+1]=temp;
                }
            }
        }



    }
}
